//package com.neudu.glsb.controller;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.github.pagehelper.PageHelper;
//import com.github.pagehelper.PageInfo;
//import com.neudu.glsb.commons.JSONReturn;
//import com.neudu.glsb.pojo.Orders;
//import com.neudu.glsb.service.OrdersService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.util.ObjectUtils;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.Comparator;
//import java.util.List;
//import java.util.Map;
//
//@RestController
//public class OrdersController11 {
//
//    @Autowired
//    private OrdersService ordersService;
//    @Autowired
//    private JSONReturn jsonReturn;
//
//@PostMapping("get_all_orders")
//public String getAllOrders(@RequestBody Map<String, Object> pageInfoMap) {
//    try {
//        Integer pageNum = (Integer) pageInfoMap.get("pageNum");
//        Integer pageSize = (Integer) pageInfoMap.get("pageSize");
//        PageHelper.startPage(pageNum, pageSize);
//        List<Orders> list = ordersService.list();
//        // 对订单列表进行排序，将已退款的订单排在后面
//        list.sort(Comparator.comparing(order -> "已退款".equals(order.getOrderStatus())? 1 : 0));
//        PageInfo<Orders> pageInfoReturn = new PageInfo<>(list);
//        return jsonReturn.returnSuccess(pageInfoReturn);
//    } catch (Exception e) {
//        e.printStackTrace();
//        return jsonReturn.returnError(e.getMessage());
//    }
//}
//    @PostMapping("get_compete_order")
//    public String getAllOrdersss(@RequestBody Map<String, Object> pageInfoMap) {
//        try {
//            Integer pageNum = (Integer) pageInfoMap.get("pageNum");
//            Integer pageSize = (Integer) pageInfoMap.get("pageSize");
//
//            // 使用 PageHelper 开始分页
//            PageHelper.startPage(pageNum, pageSize);
//
//            // 查询订单状态为“完成”的订单
//            List<Orders> list = ordersService.listCompletedOrders();
//
//            // 创建 PageInfo 对象返回
//            PageInfo<Orders> pageInfoReturn = new PageInfo<>(list);
//            return jsonReturn.returnSuccess(pageInfoReturn);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//    @PostMapping("get_orders_by_status_and_time")
//    public String getOrdersByStatusAndTime(@RequestBody Map<String, Object> conditionMap) {
//        try {
//            Integer pageNum = (Integer) conditionMap.get("pageNum");
//            Integer pageSize = (Integer) conditionMap.get("pageSize");
//            String orderStatus = (String) conditionMap.get("orderStatus");
//            String startTime = (String) conditionMap.get("startTime");
//            String endTime = (String) conditionMap.get("endTime");
//
//            PageHelper.startPage(pageNum, pageSize);
//            LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
//            if (!ObjectUtils.isEmpty(orderStatus)) {
//                queryWrapper.eq(Orders::getOrderStatus, orderStatus);
//            }
//            if (!ObjectUtils.isEmpty(startTime) && !ObjectUtils.isEmpty(endTime)) {
//                queryWrapper.between(Orders::getOrderTime, startTime, endTime);
//            } else if (!ObjectUtils.isEmpty(startTime)) {
//                queryWrapper.ge(Orders::getOrderTime, startTime);
//            } else if (!ObjectUtils.isEmpty(endTime)) {
//                queryWrapper.le(Orders::getOrderTime, endTime);
//            }
//
//            List<Orders> orders = ordersService.list(queryWrapper);
//            // 对订单列表进行排序，将已退款的订单排在后面
//            orders.sort(Comparator.comparing(order -> "已退款".equals(order.getOrderStatus())? 1 : 0));
//            PageInfo<Orders> pageInfo = new PageInfo<>(orders);
//            return jsonReturn.returnSuccess(pageInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//    @PostMapping("get_order_by")
//    public String getByCondition(@RequestBody Map<String, Object> conditionMap) {
//        try {
//            Integer pageNum = (Integer) conditionMap.get("pageNum");
//            Integer pageSize = (Integer) conditionMap.get("pageSize");
//            String orderStatus = (String) conditionMap.get("orderStatus");
//
//            PageHelper.startPage(pageNum, pageSize);
//            LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
//            if (!ObjectUtils.isEmpty(orderStatus)) {
//                queryWrapper.like(Orders::getOrderStatus, orderStatus); // 模糊查询
//            }
//
//            List<Orders> orders = ordersService.list(queryWrapper);
//            PageInfo<Orders> pageInfo = new PageInfo<>(orders);
//            return jsonReturn.returnSuccess(pageInfo);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//
//    @PostMapping("add_one_order")
//    public String addOneOrder(@RequestBody Orders order) {
//        try {
//            ordersService.save(order);
//            return jsonReturn.returnSuccess();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//
//    @PostMapping("get_order_by_id")
//    public String getById(@RequestBody Map<String, Integer> idMap) {
//        try {
//            Integer id = idMap.get("id");
//            if (ObjectUtils.isEmpty(id)) {
//                return jsonReturn.returnError("ID不能为空");
//            }
//            Orders order = ordersService.getById(id);
//            return jsonReturn.returnSuccess(order);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//
//    @PostMapping("modify_order_by_id")
//    public String modifyById(@RequestBody Orders order) {
//        try {
//            if (ObjectUtils.isEmpty(order.getId())) {
//                return jsonReturn.returnError("更新失败，id 不能为空");
//            }
//            boolean success = ordersService.updateById(order);
//            if (success) {
//                return jsonReturn.returnSuccess();
//            } else {
//                return jsonReturn.returnError("更新失败，未找到对应的订单信息");
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//
//    @PostMapping("remove_order_by_id")
//    public String removeById(@RequestBody Map<String, Integer> idMap) {
//        try {
//            Integer id = idMap.get("id");
//            if (ObjectUtils.isEmpty(id)) {
//                return jsonReturn.returnError("ID不能为空");
//            }
//            Orders order = ordersService.getById(id);
//            if (order == null) {
//                return jsonReturn.returnError("未找到对应的订单信息");
//            }
//            order.setOrderStatus("已退款");
//            boolean success = ordersService.updateById(order);
//            if (success) {
//                return jsonReturn.returnSuccess();
//            } else {
//                return jsonReturn.returnError("退款失败，更新订单状态失败");
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return jsonReturn.returnError(e.getMessage());
//        }
//    }
//
//}